/**
 * 
 */
package com.aaron.client;


import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.ServiceDefTarget;

/**
 * @author aaron
 *
 */
public interface SubversionService extends RemoteService {
	public static final String SERVICE_URI = "/VivCode/svn";

	public static class Util {

		public static SubversionServiceAsync getInstance() {

			SubversionServiceAsync instance = (SubversionServiceAsync) GWT
					.create(SubversionService.class);
			ServiceDefTarget target = (ServiceDefTarget) instance;
			target.setServiceEntryPoint(SERVICE_URI);
			return instance;
		}
	}
	public String getTreeXML(String path, String auth) throws Exception;
	public void checkout(String project_name, String svn_url, String svn_username, String svn_password, String auth)throws com.aaron.client.exceptions.DatabaseException, com.aaron.client.exceptions.SVNException, com.aaron.client.exceptions.IOException;
	public void update(String project_name, String auth)throws Exception;
	public void commit(String project_name, String message, String auth)throws Exception;
}
